﻿/**
 * jQuery EasyUI 1.3.5
 *
 * Copyright (c) 2009-2013 www.jeasyui.com. All rights reserved.
 *
 * Licensed under the GPL or commercial licenses
 * To use it on other terms please contact us: info@jeasyui.com
 * http://www.gnu.org/licenses/gpl.txt
 * http://www.jeasyui.com/license_commercial.php
 *
 */
(function ($) {
    function _1(_2) {
        var _3 = $.data(_2, "datetimebox");
        var _4 = _3.options;
        $(_2).datebox($.extend({}, _4, {onShowPanel: function () {
            var _5 = $(_2).datetimebox("getValue");
            _8(_2, _5, true);
            _4.onShowPanel.call(_2);
        }, formatter: $.fn.datebox.defaults.formatter, parser: $.fn.datebox.defaults.parser}));
        $(_2).removeClass("datebox-f").addClass("datetimebox-f");
        $(_2).datebox("calendar").calendar({onSelect: function (_6) {
            _4.onSelect.call(_2, _6);
        }});
        var _7 = $(_2).datebox("panel");
        if (!_3.spinner) {
            var p = $("<div style=\"padding:2px\"><input style=\"width:80px\"></div>").insertAfter(_7.children("div.datebox-calendar-inner"));
            _3.spinner = p.children("input");
        }
        _3.spinner.timespinner({showSeconds: _4.showSeconds, separator: _4.timeSeparator}).unbind(".datetimebox").bind("mousedown.datetimebox", function (e) {
            e.stopPropagation();
        });
        _8(_2, _4.value);
    };
    function _9(_a) {
        var c = $(_a).datetimebox("calendar");
        var t = $(_a).datetimebox("spinner");
        var _b = c.calendar("options").current;
        return new Date(_b.getFullYear(), _b.getMonth(), _b.getDate(), t.timespinner("getHours"), t.timespinner("getMinutes"), t.timespinner("getSeconds"));
    };
    function _c(_d, q) {
        _8(_d, q, true);
    };
    function _e(_f) {
        var _10 = $.data(_f, "datetimebox").options;
        var _11 = _9(_f);
        _8(_f, _10.formatter.call(_f, _11));
        $(_f).combo("hidePanel");
    };
    function _8(_12, _13, _14) {
        var _15 = $.data(_12, "datetimebox").options;
        $(_12).combo("setValue", _13);
        if (!_14) {
            if (_13) {
                var _16 = _15.parser.call(_12, _13);
                $(_12).combo("setValue", _15.formatter.call(_12, _16));
                $(_12).combo("setText", _15.formatter.call(_12, _16));
            } else {
                $(_12).combo("setText", _13);
            }
        }
        var _16 = _15.parser.call(_12, _13);
        $(_12).datetimebox("calendar").calendar("moveTo", _16);
        $(_12).datetimebox("spinner").timespinner("setValue", _17(_16));
        function _17(_18) {
            function _19(_1a) {
                return (_1a < 10 ? "0" : "") + _1a;
            };
            var tt = [_19(_18.getHours()), _19(_18.getMinutes())];
            if (_15.showSeconds) {
                tt.push(_19(_18.getSeconds()));
            }
            return tt.join($(_12).datetimebox("spinner").timespinner("options").separator);
        };
    };
    $.fn.datetimebox = function (_1b, _1c) {
        if (typeof _1b == "string") {
            var _1d = $.fn.datetimebox.methods[_1b];
            if (_1d) {
                return _1d(this, _1c);
            } else {
                return this.datebox(_1b, _1c);
            }
        }
        _1b = _1b || {};
        return this.each(function () {
            var _1e = $.data(this, "datetimebox");
            if (_1e) {
                $.extend(_1e.options, _1b);
            } else {
                $.data(this, "datetimebox", {options: $.extend({}, $.fn.datetimebox.defaults, $.fn.datetimebox.parseOptions(this), _1b)});
            }
            _1(this);
        });
    };
    $.fn.datetimebox.methods = {options: function (jq) {
        var _1f = jq.datebox("options");
        return $.extend($.data(jq[0], "datetimebox").options, {originalValue: _1f.originalValue, disabled: _1f.disabled, readonly: _1f.readonly});
    }, spinner: function (jq) {
        return $.data(jq[0], "datetimebox").spinner;
    }, setValue: function (jq, _20) {
        return jq.each(function () {
            _8(this, _20);
        });
    }, reset: function (jq) {
        return jq.each(function () {
            var _21 = $(this).datetimebox("options");
            $(this).datetimebox("setValue", _21.originalValue);
        });
    }};
    $.fn.datetimebox.parseOptions = function (_22) {
        var t = $(_22);
        return $.extend({}, $.fn.datebox.parseOptions(_22), $.parser.parseOptions(_22, ["timeSeparator", {showSeconds: "boolean"}]));
    };
    $.fn.datetimebox.defaults = $.extend({}, $.fn.datebox.defaults, {showSeconds: true, timeSeparator: ":", keyHandler: {up: function (e) {
    }, down: function (e) {
    }, left: function (e) {
    }, right: function (e) {
    }, enter: function (e) {
        _e(this);
    }, query: function (q, e) {
        _c(this, q);
    }}, buttons: [
        {text: function (_23) {
            return $(_23).datetimebox("options").currentText;
        }, handler: function (_24) {
            $(_24).datetimebox("calendar").calendar({year: new Date().getFullYear(), month: new Date().getMonth() + 1, current: new Date()});
            _e(_24);
        }},
        {text: function (_25) {
            return $(_25).datetimebox("options").okText;
        }, handler: function (_26) {
            _e(_26);
        }},
        {text: function (_27) {
            return $(_27).datetimebox("options").closeText;
        }, handler: function (_28) {
            $(this).closest("div.combo-panel").panel("close");
        }}
    ], formatter: function (_29) {
        var h = _29.getHours();
        var M = _29.getMinutes();
        var s = _29.getSeconds();

        function _2a(_2b) {
            return (_2b < 10 ? "0" : "") + _2b;
        };
        var _2c = $(this).datetimebox("spinner").timespinner("options").separator;
        var r = $.fn.datebox.defaults.formatter(_29) + " " + _2a(h) + _2c + _2a(M);
        if ($(this).datetimebox("options").showSeconds) {
            r += _2c + _2a(s);
        }
        return r;
    }, parser: function (s) {
        if ($.trim(s) == "") {
            return new Date();
        }
        var dt = s.split(" ");
        var d = $.fn.datebox.defaults.parser(dt[0]);
        if (dt.length < 2) {
            return d;
        }
        var _2d = $(this).datetimebox("spinner").timespinner("options").separator;
        var tt = dt[1].split(_2d);
        var _2e = parseInt(tt[0], 10) || 0;
        var _2f = parseInt(tt[1], 10) || 0;
        var _30 = parseInt(tt[2], 10) || 0;
        return new Date(d.getFullYear(), d.getMonth(), d.getDate(), _2e, _2f, _30);
    }});
})(jQuery);

